import numpy as np


# 案例：随机生成8只股票2周的交易日涨幅数据
stock_change = np.random.normal(loc=0, scale=1, size=(8, 10))

# 1.基本操作
# 1.1 切片：获取第一个股票的前3个交易日的涨跌幅数据
var = stock_change[0, :3]
# 1.2 索引
a1 = np.array([ [[1,2,3],[4,5,6]], [[12,3,34],[5,6,7]]])
a1[1, 0, 2] = 100000
# 1.3 形状修改
stock_change.reshape((10, 8)) # 返回新的ndarray,原始数据没有改变
stock_change.resize((10, 8)) # 没有返回值，对原始的ndarray进行了修改
print(stock_change.T) # 转置 行变成列，列变成行
# 1.4 类型修改
stock_change.astype("int32")
stock_change.tostring() # ndarray序列化到本地
# 1.5 数组去重
np.unique(stock_change)

# 2.逻辑运算
# 2.1 运算符
# 逻辑判断, 如果涨跌幅大于0.5就标记为True 否则为False
print(stock_change > 0.5)
stock_change[stock_change > 0.5] = 1.1
# 2.2 通用判断函数
np.all(stock_change[0:2, 0:5] > 0) # 判断stock_change[0:2, 0:5]是否全是上涨的
np.any(stock_change[:5, :] > 0) # 判断前5只股票这段期间是否有上涨的
# 2.3 三元运算符
temp = stock_change[:4, :4]
np.where(temp > 0, 1, 0)
np.where(np.logical_and(temp > 0.5, temp < 1), 1, 0) # 大于0.5且小于1
np.where(np.logical_or(temp > 0.5, temp < -0.5), 11, 3) # 大于0.5或小于-0.5
# 3.统计运算
# 3.1 统计指标函数


# 4.数组间运算
# 4.1 数组与数的运算
